The present invention relates generally to cryptography, and in particular to a method of encrypting digital information rendering it more difficult to decipher using computer-assisted techniques. Although the invention is applicable to a wide range of applications, it finds particular utility in an encryption system for keyless entry locks, such as keyless entry locks for automotive applications.
Cyclic redundancy code (CRC) cryptographic authentication processes are currently employed in anti theft systems for vehicles, including keyless entry systems and engine ignition systems. User authentication is a major concern. Present-day systems use RF or infrared transmissions to communicate between the vehicle and the wireless electronic key device, commonly embedded in a key fob. These systems suffer from "playback" attacks, where a would-be thief simply records the transmission of the key Fob and plays it back to gain entry. Cryptographic authentication systems are used to provide some degree of security against such playback attacks.
While cyclic redundancy code cryptographic authentication systems provide a modicum of security, these systems can be broken by computer-assisted techniques. One such technique is the "chosen plaintext" attack, in which a computer generates a sequence of possible access codes and monitors the response of the key fob or lock to each sequence sent. Because computers can do this quite quickly, it is possible using the chosen plaintext attack to rapidly sequence through millions of selectively chosen combinations, until the unlocking combination is found. The chosen plaintext attack works well on conventional cryptographic systems because the attacker knows the identity of each input number tested and simply has to observe the system response to that input. After enough observations are made, the internal workings of the secret cryptographic process can be inferred.
The present invention provides a unique pseudorandom process for immunizing a cryptographic system against chosen plaintext attack. The digital information to be encrypted is represented as a set of binary digits. The set of binary digits is then altered by sequentially testing each of a plurality of digits, one digit at a time, to determine if the digit is a 1 or a 0. For each digit so tested, a first encryption process is applied to the set of digits if the tested digit is a 1, and second encryption process is applied to the set of digits if the tested digit is a 0. The power of this technique may be seen by considering what happens when an n-bit number is encrypted. Because each bit may be tested an encryption process selected accordingly, there are 2.sup.n possible encryption processes. The encryption process is therefore data dependent, making chosen plaintext attack exponentially less fruitful.
For a more complete understanding of the invention, its objects and advantages, reference may be had to the following specification and to the accompanying drawings.